<?php

namespace backend\models;

use Yii;

/**
 * This is the model class for table "edu_income".
 *
 * @property int $id
 * @property int $get_user_id 被奖励的对象
 * @property string $title 被奖励的对象的标题或者自备注信息
 * @property int $obj_id 被奖励对象的id
 * @property int $pay_user_id 购买者支付者的id
 * @property int $style 奖励类型 1.视频2.线下教程3.驻店课程 4.平台额外奖励 5.分享后入驻的奖励 6，其他
 * @property int $source 奖励来源 奖励来源 1.客户 2.平台 3.其他
 * @property int $create_time 创建时间
 * @property int $status 1有效 0无效默认1
 * @property string $amount
 */
class EduIncome extends \yii\db\ActiveRecord
{
    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return 'edu_income';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['get_user_id', 'create_time'], 'required'],
            [['get_user_id', 'obj_id', 'pay_user_id', 'style', 'source', 'create_time', 'status'], 'integer'],
            [['amount'], 'number'],
            [['title'], 'string', 'max' => 50],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'get_user_id' => '被奖励的用户ID',
            'title' => '标题',
            'obj_id' => '被奖励对象ID',
            'pay_user_id' => '奖励来源ID',
            'style' => '奖励类型',
            'source' => '奖励来源',
            'create_time' => '时间',
            'status' => '状态',
            'amount' => '金额',
        ];
    }

    /**
     * edu_user 的get_user_id关联
     * @return \yii\db\ActiveQuery
     */
    public function getUser()
    {
        return $this->hasOne(EduUser::class, ['id' => 'get_user_id']);
    }

    /**
     * edu_user 的pay_user_id关联
     * @return \yii\db\ActiveQuery
     */
    public function getUsers()
    {
        return $this->hasOne(EduUser::class, ['id' => 'pay_user_id']);
    }

    /**
     * style类型枚举
     * @return string
     */
    public function getStyleValue()
    {
        switch ($this->style)
        {
            case 1:
                $value = '视频课程';
                break;
            case 2:
                $value = '线下课程';
                break;
            case 3:
                $value = '驻店课程';
                break;
            case 4:
                $value = '平台奖励';
                break;
            case 5:
                $value = '分享入驻奖励';
                break;
            case 6:
                $value = '其他';
                break;
            default:
                $value = '其他';
                break;
        }
        return $value;
    }

    /**
     * 定义的枚举
     * @return array
     */
    public static function attributeValue()
    {
        return [
            'style' => [
                '1' => '视频课程',
                '2' => '线下课程',
                '3' => '驻店课程',
                '4' => '平台奖励',
                '5' => '分享入驻奖励',
                '6' => '其他',
            ],
            'status' => [
                '0' => '禁用',
                '1' => '启动',
            ],
        ];
    }
}
